class Store {
  constructor() {
    this.store = window.localStorage;
  }
  // 设置Storage存储对象
  set(key, value) {
    if (typeof key === "object") {
      throw new Error("key不能是一个对象。");
    }
    this.store.setItem(key, value);
  }
  // 获取Storage存储对象
  get(key) {
    if (!key) {
      throw new Error("key不能为空");
    }

    if (typeof key === "object") {
      throw new Error("key不能是一个对象。");
    }
    let value = this.store.getItem(key);
    // 判断当前字符串是否为json字符串  add by liuyang
    let isJson = (str) => {
      if (typeof str === "string") {
        try {
          JSON.parse(str);
          return true;
        } catch (e) {
          return false;
        }
      }
    };
    if (value !== null) {
      try {
        if (isJson(value)) {
          value = JSON.parse(value);
        }
      } catch (e) {
        throw new Error(``);
      }
    }

    return value;
  }
  // 删除Storage存储对象
  remove(key) {
    this.store.removeItem(key);
  }
}
export default new Store();
